package com.bkgy.modular.tbdsjdatadictionary.controller;

import com.alibaba.fastjson.JSON;
import com.bkgy.modular.tbdsjdatadictionary.entity.JTbDsjDataDictionary;
import com.bkgy.modular.tbdsjdatadictionary.entity.TbDsjDataDictionary;
import com.bkgy.modular.tbdsjdatadictionary.service.TbDsjDataDictionaryService;
import com.bkgy.sys.common.entity.JCommon;
import com.bkgy.sys.common.entity.ResultData;
import com.bkgy.util.CodiUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


/**
 * 数据字典表控制器层
 * @author  生成器生成
 * @date 2022-07-28 12:31:19
 */
@RestController
@RequestMapping("/tbDsjDataDictionary")
public class TbDsjDataDictionaryController {

    @Autowired
    private TbDsjDataDictionaryService tbDsjDataDictionaryService;

    /**
     * 添加记录
     * @param data userId 用户id
     * @param data sname 用户姓名
     * */
    @CrossOrigin
    @RequestMapping(value={"/insert"}, method=RequestMethod.POST)
    @ResponseBody
    public ResultData insertDataTbDsjDataDictionary(@RequestBody String data, @RequestHeader(value="loginToken") String loginToken){
        JCommon common = JSON.parseObject(loginToken, JCommon.class);
        String sname = common.getSname();
        Long userId = common.getUserId();
        return tbDsjDataDictionaryService.insertDataTbDsjDataDictionary(data,userId, CodiUtil.returnLm(sname));
    };

    /**
     * 根据主键删除对象
     * @param data json字符串
     * */
    @CrossOrigin
    @RequestMapping(value={"/deleteOne"}, method=RequestMethod.POST)
    @ResponseBody
    public ResultData deleteDataTbDsjDataDictionaryOne(@RequestBody String data){
        try{
            JTbDsjDataDictionary jtbDsjDataDictionary = JSON.parseObject(data,JTbDsjDataDictionary.class);
            TbDsjDataDictionary tbDsjDataDictionary = jtbDsjDataDictionary.getTbDsjDataDictionary();
            return tbDsjDataDictionaryService.deleteDataTbDsjDataDictionaryOne(tbDsjDataDictionary.getDic_variable_name(),tbDsjDataDictionary.getIn_data_source());
        }catch(Exception e){
            e.printStackTrace();
            return ResultData.ResultDataFaultSelf("访问接口错误，错误信息为" + e.getMessage(), null);
        }
    };

    /**
     * 根据主键字符串删除多个对象
     * @param data json字符串
     */
    @CrossOrigin
    @RequestMapping(value = {"/deleteMany"}, method = RequestMethod.POST)
    @ResponseBody
    public ResultData deleteDataSysUserMany(@RequestBody String data) {
        try{
            JTbDsjDataDictionary jtbDsjDataDictionary = JSON.parseObject(data,JTbDsjDataDictionary.class);
            return tbDsjDataDictionaryService.deleteDataTbDsjDataDictionaryMany(jtbDsjDataDictionary.getStr_indocno());
        }catch(Exception e){
            e.printStackTrace();
            return ResultData.ResultDataFaultSelf("访问接口错误，错误信息为" + e.getMessage(), null);
        }
    }

    /**
     * 修改记录
     * @param data json字符串
     * @param loginToken 请求头参数字符串对象
     */
    @CrossOrigin
    @RequestMapping(value={"/update"}, method=RequestMethod.POST)
    @ResponseBody
    public ResultData updateDataTbDsjDataDictionary(@RequestBody String data,@RequestHeader(value="loginToken") String loginToken){
        JCommon common = JSON.parseObject(loginToken,JCommon.class);
        String sname = common.getSname();
        Long userId = common.getUserId();
        return tbDsjDataDictionaryService.updateDataTbDsjDataDictionary(data,userId,CodiUtil.returnLm(sname));
    };

    /**
     * 分页查看记录
     * @param data json字符串
     */
    @CrossOrigin
    @RequestMapping(value = {"/findByPage"}, method = RequestMethod.POST)
    @ResponseBody
    public ResultData findDataTbDsjDataDictionaryByPage(@RequestBody String data) {
        return tbDsjDataDictionaryService.findDataTbDsjDataDictionaryByPage(data);
    }

    /**
     * 根据主键查询单条记录
     * @param data json字符串
     */
    @CrossOrigin
    @RequestMapping(value = {"/findByIndocno"}, method = RequestMethod.POST)
    @ResponseBody
    public ResultData findDataTbDsjDataDictionaryByIndocno(@RequestBody String data) {
        return tbDsjDataDictionaryService.findDataTbDsjDataDictionaryByIndocno(data);
    }

    /**
     * 查看记录
     * @return list 对象集合返回
     * */
    @CrossOrigin
    @RequestMapping(value={"/findAll"}, method=RequestMethod.POST)
    public List<TbDsjDataDictionary> findDataTbDsjDataDictionary(){
        return tbDsjDataDictionaryService.findDataTbDsjDataDictionary();
    };
}
